package com.ai.entity.Industry;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 工业互联网告警信息
 * @Author jiaok
 * @Date 2024-03-18 9:43
 */
@Data
@Getter
@Setter
public class IndustryAlarmMessage {

    /**
     * 消息标题，不传时表示使用模板的消息标题，
     * 传入时进行替换
     */
    private String title;

    /**
     * 附加的消息内容，传入时附加到模板内容后
     */
    private String content;


    /**
     * 报警消息配置 id (不为空)
     */
    private String alarmConfigId;


    /**
     * 报警等级 id (不为空)
     */
    private String levelId;


    /**
     * 消息的来源标识
     * ，用户可在报警中心设置同一来源的消息为“重点关注”或者“暂不关注”，
     * 不传或者传空，
     * 默认信息来源为当前服务
     */
    private String resourceId;

    /**
     * 消息变量，用于替换消息中的变量，注意同一 key 不能对应多个值
     */
    private List<Variable> variableList;

    /**
     * 告警附件信息
     */
    private List<Attachment> attachmentList;

    /**
     * 消息接收者类型（1:员工，2:组织机构）,默认 1
     */
    private Integer receiverType;

    /**
     * 消息接收者 id 列表
     */
    private List<Integer> receiverIdList;


    /**
     *  跳转连接
     */
    private String link;

    /**
     * 回调地址
     */
    private String callbackAddress;

    /**
     * iframe链接地址，消息详情页下面iframe
     */
    private String iframeUrl;

    /**
     * iframe设置json字符串: {"width": "1200px" , "height" : "600px"}
     */
    private String iframeSetting;


    /**
     * 去处理链接，消息详情页“去处理”按钮跳转地址
     */
    private String handleUrl;

    /**
     * 第三方报警消息id，报警消息回调时会回传该值
     */
    private String alarmLogId;

}
@Data
@Getter
@Setter
class Variable{
    /**
     * 需要替换的占位符
     */
    private String key;
    /**
     * 需要替换的占位符值
     */
    private String value;
}

@Data
@Getter
@Setter
class Attachment{

    /**
     * 附件类型(1:图片,2:视频)
     */
    private Integer type;
    /**
     * 附件链接
     */
    private String linkUrl;


}